from Config.config import Config
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import time
class Page(Config):
    # 断言必应上的热点
    dy1_loc=(By.XPATH,'//*[@id="tobPrompt"]/div[1]/a[1]')
    def dy1(self):
        return self.text(self.dy1_loc)
    # 断言央视曝被薅羊毛的医保卡
    dy2_loc=(By.XPATH,'//*[@id="tob_list0"]/ul/a[1]/span[2]')
    def dy2(self):
        return self.text(self.dy2_loc)

    # 判断logo是否存在于页面  is_displayed
    logo_loc=(By.ID,'bLogo')
    def logo(self):
        return self.is_displayed(self.logo_loc)

    # 判断搜索输入框是否存在且可交互   is_displayed
    sb_form_q_loc=(By.XPATH,'//*[@id="sb_form_q"]')
    def sb_form_q(self):
        self.is_displayed(self.sb_form_q_loc)

    # 2.搜索框输入“软件测试自动化”触发搜索
    input_loc=(By.ID,'sb_form_q')
    def input(self):
        self.send_keys(self.input_loc,'软件测试自动化')
    # 搜索按钮
    btn_loc=(By.ID,'sa_5004')
    def btn(self):
        self.click(self.btn_loc)

    # 断言结果页面显示有效内容
    result_loc=(By.ID,'b_results')
    def result(self):
        ddt=self.find_elements(self.result_loc)
        for i in ddt:
            print(i.text)

    # 提取第一页所有搜索结果的标题文本。
    title_loc=(By.XPATH,'/html/body/div[3]/main/div[2]')
    def title(self):
        ddt1=self.find_elements(self.title_loc)
        for i in ddt1:
            print(i.text)
            assert '软件测试' in i.text


    # 点击第二页
    page2_loc=(By.XPATH,'//*[@id="b_results"]/li[10]/nav/ul/li[4]/a')
    def page2(self):
        self.click(self.page2_loc)
    # 提取第二页所有搜索结果的标题文本。
    title2_loc = (By.XPATH, '/html/body/div[3]/main/ol')
    def title2(self):
        ddt1 = self.find_elements(self.title_loc)
        for i in ddt1:
            print(i.text)
            assert '软件测试' in i.text




    def test_bing(self):
        self.get('https://cn.bing.com/')
        # 断言必应上的热点
        dy1=self.dy1()
        # assert '必应上的热点' in dy1
        print(dy1)
        # 断言央视曝被薅羊毛的医保卡
        dy2=self.dy2()
        # assert '央视曝被薅羊毛的医保卡' == dy2
        print(dy2)
        # 判断logo是否存在于页面  is_displayed
        logo=self.logo()
        assert logo is True
        # 判断搜索输入框是否存在且可交互   is_displayed
        # ssk=self.sb_form_q()
        # assert ssk is True
        time.sleep(2)
        self.input()
        self.btn()
        time.sleep(5)
        self.result()
        print("------------------------------------------提取第一页所有搜索结果的标题文本-------------------------------------")
        self.title()
        time.sleep(5)
        # 滚动
        self.execute_script(5000)
        # self.page2()
        print("------------------------------------------提取第二页所有搜索结果的标题文本-------------------------------------")
        # 提取第二页所有搜索结果的标题文本。
        # self.title2()
        time.sleep(5)




